module.exports = {
    apps: [
        // 清华大学地图美食评分系统后端API服务器
        {
            name: 'qinghua-food-rating-server',
            script: './dist/server.js',
            cwd: './server',
            instances: 1,
            exec_mode: 'fork',
            env: {
                NODE_ENV: 'production',
                PORT: 3912
            },
            env_production: {
                NODE_ENV: 'production',
                PORT: 3912
            },
            // 日志配置
            log_file: './logs/server-combined.log',
            out_file: './logs/server-out.log',
            error_file: './logs/server-error.log',
            log_date_format: 'YYYY-MM-DD HH:mm:ss Z',

            // 自动重启配置
            watch: false,
            ignore_watch: ['node_modules', 'logs', 'uploads'],
            max_memory_restart: '1G',

            // 进程管理
            min_uptime: '10s',
            max_restarts: 10,
            autorestart: true,

            // 其他配置
            merge_logs: true,
            time: true
        },

        // 清华大学地图美食评分系统管理员端前端服务
        {
            name: 'qinghua-food-rating-admin',
            script: 'npx',
            args: 'serve -s dist -l 7821',
            cwd: './admin',
            instances: 1,
            exec_mode: 'fork',
            env: {
                NODE_ENV: 'production'
            },
            // 日志配置
            log_file: '../logs/admin-combined.log',
            out_file: '../logs/admin-out.log',
            error_file: '../logs/admin-error.log',
            log_date_format: 'YYYY-MM-DD HH:mm:ss Z',

            // 自动重启配置
            watch: false,
            max_memory_restart: '500M',

            // 进程管理
            min_uptime: '10s',
            max_restarts: 10,
            autorestart: true,

            // 其他配置
            merge_logs: true,
            time: true
        }
    ]
};